The SMP side will need to be done soone enough
Signed-off-by: Jimi Xenidis <jimix@watson.ibm.com>
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
--HG--
extra : transplant_source : %E3%03v%A0%AB%C3%91%17%F6%04%B0%F6%CCx%17%DE%B3%EB%90y
void __flush_tlb_mask(cpumask_t mask, unsigned long addr)
{
- unimplemented();
+ if (cpu_isset(smp_processor_id(), mask)) {
+ cpu_clear(smp_processor_id(), mask);
+ if (cpus_empty(mask)) {
+ /* only local */
+ if (addr == FLUSH_ALL_ADDRS)
+ local_flush_tlb();
+ else
+ local_flush_tlb_one(addr);
+ return;
+ }
+ }
+ /* if we are still here and the mask is non-empty, then we need to
+ * flush other TLBs so we flush em all */
+ if (!cpus_empty(mask))
+ unimplemented();
}
void smp_send_event_check_mask(cpumask_t mask)